home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ____FFFFIIIIRRRR1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRR1111DDDD((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- SFIR1D, DFIR1D, CFIR1D, ZFIR1D - 1D Convolution in the time domain.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee SSSSFFFFIIIIRRRR1111DDDD(((( iiiinnnn____ppppuuuutttt,,,, iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- ffffiiiirrrrffffiiiillll,,,, iiiinnnnccccffffiiiirrrr,,,, iiii0000____ffffiiiirrrr,,,, nnnn____ffffiiiirrrr,,,,
- oooouuuuttttppppuuuutttt,,,, iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiinnnnccccffffiiiirrrr,,,, iiii0000____ffffiiiirrrr,,,, nnnn____ffffiiiirrrr
- iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt
- rrrreeeeaaaallll iiiinnnn____ppppuuuutttt((((****)))),,,, ffffiiiirrrrffffiiiillll((((****)))),,,, oooouuuuttttppppuuuutttt((((****)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee DDDDFFFFIIIIRRRR1111DDDD(((( iiiinnnn____ppppuuuutttt,,,, iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- ffffiiiirrrrffffiiiillll,,,, iiiinnnnccccffffiiiirrrr,,,, iiii0000____ffffiiiirrrr,,,, nnnn____ffffiiiirrrr,,,,
- oooouuuuttttppppuuuutttt,,,, iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiinnnnccccffffiiiirrrr,,,, iiii0000____ffffiiiirrrr,,,, nnnn____ffffiiiirrrr
- iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt
- ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn iiiinnnn____ppppuuuutttt((((****)))),,,, ffffiiiirrrrffffiiiillll((((****)))),,,, oooouuuuttttppppuuuutttt((((****)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee CCCCFFFFIIIIRRRR1111DDDD(((( iiiinnnn____ppppuuuutttt,,,, iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- ffffiiiirrrrffffiiiillll,,,, iiiinnnnccccffffiiiirrrr,,,, iiii0000____ffffiiiirrrr,,,, nnnn____ffffiiiirrrr,,,,
- oooouuuuttttppppuuuutttt,,,, iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiinnnnccccffffiiiirrrr,,,, iiii0000____ffffiiiirrrr,,,, nnnn____ffffiiiirrrr
- iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt
- ccccoooommmmpppplllleeeexxxx iiiinnnn____ppppuuuutttt((((****)))),,,, ffffiiiirrrrffffiiiillll((((****)))),,,, oooouuuuttttppppuuuutttt((((****)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ZZZZFFFFIIIIRRRR1111DDDD(((( iiiinnnn____ppppuuuutttt,,,, iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- ffffiiiirrrrffffiiiillll,,,, iiiinnnnccccffffiiiirrrr,,,, iiii0000____ffffiiiirrrr,,,, nnnn____ffffiiiirrrr,,,,
- oooouuuuttttppppuuuutttt,,,, iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiinnnnccccffffiiiirrrr,,,, iiii0000____ffffiiiirrrr,,,, nnnn____ffffiiiirrrr
- iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx iiiinnnn____ppppuuuutttt((((****)))),,,, ffffiiiirrrrffffiiiillll((((****)))),,,, oooouuuuttttppppuuuutttt((((****)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
-
- CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
- ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooonnnnvvvv....hhhh>>>>
-
- vvvvooooiiiidddd ssssffffiiiirrrr1111dddd(((( ffffllllooooaaaatttt ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt iiiiffff0000,,,, iiiinnnntttt nnnnffff,,,,
- ffffllllooooaaaatttt ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiigggg0000,,,, iiiinnnntttt nnnngggg,,,,
- ffffllllooooaaaatttt ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt iiiihhhh0000,,,, iiiinnnntttt nnnnhhhh,,,,
- ffffllllooooaaaatttt aaaallllpppphhhhaaaa,,,, ffffllllooooaaaatttt bbbbeeeettttaaaa))))
-
- vvvvooooiiiidddd ddddffffiiiirrrr1111dddd(((( ddddoooouuuubbbblllleeee ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt iiiiffff0000,,,, iiiinnnntttt nnnnffff,,,,
- ddddoooouuuubbbblllleeee ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiigggg0000,,,, iiiinnnntttt nnnngggg,,,,
- ddddoooouuuubbbblllleeee ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt iiiihhhh0000,,,, iiiinnnntttt nnnnhhhh,,,,
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ____FFFFIIIIRRRR1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRR1111DDDD((((3333FFFF))))
-
-
-
- ddddoooouuuubbbblllleeee aaaallllpppphhhhaaaa,,,, ddddoooouuuubbbblllleeee bbbbeeeettttaaaa))))
-
- vvvvooooiiiidddd ccccffffiiiirrrr1111dddd(((( ccccoooommmmpppplllleeeexxxx ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt iiiiffff0000,,,, iiiinnnntttt nnnnffff,,,,
- ccccoooommmmpppplllleeeexxxx ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiigggg0000,,,, iiiinnnntttt nnnngggg,,,,
- ccccoooommmmpppplllleeeexxxx ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt iiiihhhh0000,,,, iiiinnnntttt nnnnhhhh,,,,
- ccccoooommmmpppplllleeeexxxx ****aaaallllpppphhhhaaaa,,,, ccccoooommmmpppplllleeeexxxx ****bbbbeeeettttaaaa))))
-
- vvvvooooiiiidddd zzzzffffiiiirrrr1111dddd(((( zzzzoooommmmpppplllleeeexxxx ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt iiiiffff0000,,,, iiiinnnntttt nnnnffff,,,,
- zzzzoooommmmpppplllleeeexxxx ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiigggg0000,,,, iiiinnnntttt nnnngggg,,,,
- zzzzoooommmmpppplllleeeexxxx ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt iiiihhhh0000,,,, iiiinnnntttt nnnnhhhh,,,,
- zzzzoooommmmpppplllleeeexxxx ****aaaallllpppphhhhaaaa,,,, zzzzoooommmmpppplllleeeexxxx ****bbbbeeeettttaaaa))))
-
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- SFIR1D and DFIR1D compute a 1D convolution in the time domain :
-
- O(j) = Sum[ I(i) * F(j-i) ]
-
-
- UUUUSSSSAAAAGGGGEEEE
- These modules compute the result of the convolution in the "output" range
- padding with zeroes when needed. In theory, an input sequence of "n_inp"
- samples starting at time "i0_inp", filtered by a sequence of "n_fir"
- samples starting at time "i0_fir", will result in a new signal of (n_inp
- + n_fir - 1) non zero samples starting at time (i0_inp + i0_fir). We just
- compute here the values that fall in that range and zero the rest. This
- may be interesting, for example when filtering a sequence of N samples,
- with a symmetric filter of 2m+1 samples. If one wants only to compute the
- central N resulting samples, the following call can be used:
- call _fir1d( f, 0, 1, N, g, -m, 1, 2*m+1, h, 0, 1, N)
-
-
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- iiiinnnn____ppppuuuutttt Pointer to FIRST sample of sequence "in_put"
-
-
- iiiinnnncccciiiinnnnpppp Increment between two successive values of "in_put"
-
-
- iiii0000____iiiinnnnpppp Index of the first element of "in_put"
-
-
- nnnn____iiiinnnnpppp Number of samples of "in_put"
-
-
- ffffiiiirrrrffffiiiillll Pointer to FIRST sample of sequence "firfil"
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- ____FFFFIIIIRRRR1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRR1111DDDD((((3333FFFF))))
-
-
-
- iiiinnnnccccffffiiiirrrr Increment between two successive values of "firfil"
-
-
- iiii0000____ffffiiiirrrr Index of the first element of "firfil"
-
-
- iiii0000____ffffiiiirrrr Number of samples of "firfil"
-
-
- oooouuuuttttppppuuuutttt Pointer to FIRST sample of sequence "output"
-
-
- iiiinnnnccccoooouuuutttt Increment between two successive values of "output"
-
-
- iiii0000____oooouuuutttt Index of the first element of "output"
-
-
- nnnn____oooouuuutttt Number of samples of "output"
-
-
- aaaallllpppphhhhaaaa Scaling factor for the convolution
-
-
- bbbbeeeettttaaaa Scaling factor for the Output on Entry
-
-
- IIIIMMMMPPPPOOOORRRRTTTTAAAANNNNTTTT NNNNOOOOTTTTEEEE::::
- The array pointers must all point to the first element of the
- array "i0_inp", "i0_fir" and "i0_out". If "in_put" for example
- is defined as
- dimension in_put(-25:45)
- Then "dfir1d" must be called with the following parameters
- call dfir1d( in_put(-25),1,-25,45, ... )
-
-
- AAAAUUUUTTTTHHHHOOOORRRRSSSS
- Jean-Pierre Panziera, 1/12/93.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-